The present invention relates to a method of and a system for translating addresses between an Internet Protocol Version 4 (IPv4) address and an Internet Protocol Version 6 (IPv6) address.
There are known NAT-PT (refer to http://www.ietf.org/rfc/rfc2766.tx-t; pp. 6-18 and http://www.ietf.org/rfc/rfc2765.txt; pp. 9-22), SOCKS64 (refer to http://search.ietf.org/internet-drafts/draft-ietf-ngtrans-socks-gateway-05.txt), etc. as a method of connecting a network using an Internet Protocol version 4 protocol (hereinafter, referred to as an IPv4 network) with a network using an Internet Protocol version 6 protocol (hereinafter, referred to as an IPv6 network).
Both of them are basically used to translate formats of IP packets mutually between IPv4 and IPv6. For example, they are used for a translation between an IPv4 address and an IPv6 address. Hereinafter, an apparatus for performing this translation is referred to as a translator. The translator needs to retain a correspondence between the IPv4 address and the IPv6 address. If this correspondence is dynamically generated whenever a communication occurs, name resolving of a domain name system (DNS) is used as a clue to the generation (refer to the Internet RFC Dictionary published by ASCII, pp. 323-329).
The DNS is a system for translating a name (a character string) easy to understand for human beings such as a URL on the Web to an IP address. Hereinafter, an operation of translating a name to an IP address is referred to as name resolving. Today, the DNS is used in almost all of the applications on the Internet to acquire an IP address of a correspondent terminal.
The translator always monitors a DNS message exchanged at initiating a communication so as to make a name resolving request message a clue to generating translation information (a correspondence of an IP address, etc.). Specifically, if an IPv4 address is a response to name resolving performed by an IPv6 terminal for a certain name, this IPv4 address is rewritten to an IPv6 address and then returned to an IPv6 terminal. Subsequently the IPv4 not rewritten is associated with the IPv6 address which has been rewritten. In other words, a response message for name resolving is snatched and rewritten and then translation information is generated based on the information before and after the rewriting. The translation information dynamically generated in this operation is temporary and therefore it is discarded after an end of the communication.
In the above prior art, the terminal is not assumed to move and therefore the correspondence between the IPv4 address and the IPv6 address is managed only inside the translator, and thus the correspondence is not exchanged among a plurality of translators.
Each translator has a certain service area, thereby disabling different translators to exchange a correspondence between an IPv4 address and an IPv6 address of each device. Therefore, a communication is interrupted if a terminal taking a translation service moves across service areas of the translators.
In addition, as already described above, the correspondence between the IPv4 address and the IPv6 address is discarded at an end of the communication and a different correspondence is used for each communication. In other words, a content to be rewritten in a response message for name resolving changes for every communication. Therefore, from the viewpoint of a terminal which has requested the name resolving, the terminal acquires different IP addresses for the same name. While the DNS generally has a cache function of storing an IP address for a certain period regarding a name for which name resolving is once performed, an IP address for the name changes whenever name resolving is performed in the conventional protocol translation method, and therefore the cache function cannot be used.